Conversation
| _args: &[OperandRef<'tcx, Self::Value>], | ||
| _is_cleanup: bool, | ||
| ) -> Self::Value { | ||
| bug!("LLVM intrinsic call not supported in SPIR-V backend: {instance:?}") |
There was a problem hiding this comment.
I think we want to use this rather than our own home-grown replacements, but didn't want to do it in this PR.
14cdf92 to
6434ab8
Compare
|
|
|
Tried to update with a patched Details |
|
Cool, I'll take a look. There were some changes in this area. |
There was a problem hiding this comment.
I wonder whether this is still needed? After #148789, we can simply detect Arguments::from_str if the argument is a const str.
There was a problem hiding this comment.
panic and panic_nounwind use Arguments::from_str. But panic_display / unreachable_display still go through format_args and panic_bounds_check also formats dynamic values. So I think we need both.
2fe48e0 to
db063f6
Compare
|
@nazar-pc I think what you saw should be fixed. |
|
Yes, clippy is happy now, tests are passing too |
| let alloc_size = alloc.inner().size(); | ||
| if alloc_size.bytes() % elem_size.bytes() != 0 { | ||
| return None; | ||
| } |
There was a problem hiding this comment.
This would be an error right? Would it make sense to silently do nothing here?
There was a problem hiding this comment.
Good question. The trailing bytes can't form a complete element and are can't be accessed through the array, so truncating to floor(alloc_size / elem_size) should be fine? Should I change it? I'm not sure about edge-cases as this isn't my wheelhouse and AI did a lot of these changes.
Update the pinned workspace toolchain to rustc 1.96.0-nightly (1d8897a4e 2026-03-13) and keep REQUIRED_RUST_TOOLCHAIN in sync. Mirror the current rustc_codegen_ssa crate-attribute header in lib.rs, keep rustc_codegen_spirv-specific lint allowances outside that mirrored block, and drop the now-unneeded bootstrap-only header filtering from build.rs.
Use exact rust_gpu attribute paths with get_attrs_by_path, let AggregatedSpirvAttributes parse filtered iterators directly, and replace the manual debug filename arena allocation with DroplessArena::alloc_str. Also port the rustc-private API drift in this nightly by importing assert_matches from std, using rustc_span::Spanned directly, and renaming BackendRepr::ScalableVector to SimdScalableVector.
Keep the existing runtime-array reification path for const pointer bitcasts, but report a specific zombie reason when the backing allocation size is not a multiple of the runtime-array element size instead of silently falling through to the generic const_bitcast error.
This disassembly test only cares about the rotate lowering pattern, not source line tables. Strip OpLine records entirely so line-number drift across toolchains does not require reblessing the test.
|
cc @Firestar99 for some testing |
Requires #542